namespace SumerCoreDevOps.Infrastructure.Realtime;

/// <summary>
/// 实时通知服务接口
/// </summary>
public interface IRealtimeNotificationService
{
    /// <summary>
    /// 推送任务日志
    /// </summary>
    Task PushTaskLogAsync(long taskId, long pipelineInstanceId, string logLevel, string logContent);

    /// <summary>
    /// 推送任务状态更新
    /// </summary>
    Task PushTaskStatusAsync(long taskId, long pipelineInstanceId, string status, int progress, string? errorMessage);

    /// <summary>
    /// 推送节点状态变化
    /// </summary>
    Task PushNodeStatusAsync(object nodeStatusData);
}
